/*
 * Decompiled with CFR 0.150.
 * 
 * Could not load the following classes:
 *  cn.hutool.core.date.DateUtil
 *  cn.hutool.core.util.ObjectUtil
 *  cn.hutool.core.util.StrUtil
 *  com.alibaba.fastjson.JSON
 *  de.felixroske.jfxsupport.FXMLController
 *  javafx.collections.FXCollections
 *  javafx.collections.ObservableList
 *  javafx.event.EventHandler
 *  javafx.fxml.FXML
 *  javafx.fxml.Initializable
 *  javafx.scene.control.Alert
 *  javafx.scene.control.Alert$AlertType
 *  javafx.scene.control.Button
 *  javafx.scene.control.DatePicker
 *  javafx.scene.control.ScrollPane
 *  javafx.scene.control.TextField
 *  javafx.scene.input.KeyCode
 *  javafx.scene.input.KeyEvent
 *  javafx.scene.layout.GridPane
 *  javafx.scene.layout.VBox
 *  javafx.stage.Modality
 *  javafx.util.StringConverter
 *  org.slf4j.Logger
 *  org.slf4j.LoggerFactory
 *  org.springframework.beans.factory.annotation.Autowired
 */
package com.gys.controller.dailyReconcile;

import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.gys.GysApplication;
import com.gys.common.business.DailyReconcileUtil;
import com.gys.common.data.HttpJson;
import com.gys.common.enums.PayMethod;
import com.gys.common.util.CacheUtil;
import com.gys.common.util.CommonUtil;
import com.gys.controller.BaseController;
import com.gys.controller.dailyReconcile.AddDailyReconcileController;
import com.gys.controller.index.IndexController;
import com.gys.data.dailyReconcile.DailyReconcileDetailOutData;
import com.gys.data.dailyReconcile.DailyReconcileInData;
import com.gys.data.dailyReconcile.DailyReconcileOutData;
import com.gys.data.example.GetLoginStoreOutData;
import com.gys.data.example.GetUserOutData;
import com.gys.view.dailyReconcile.addDailyReconcileView;
import de.felixroske.jfxsupport.FXMLController;
import java.math.BigDecimal;
import java.net.URL;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.ResourceBundle;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.EventHandler;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Alert;
import javafx.scene.control.Button;
import javafx.scene.control.DatePicker;
import javafx.scene.control.ScrollPane;
import javafx.scene.control.TextField;
import javafx.scene.input.KeyCode;
import javafx.scene.input.KeyEvent;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.VBox;
import javafx.stage.Modality;
import javafx.util.StringConverter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;

@FXMLController
public class DailyReconcileController
extends BaseController
implements Initializable {
    private static final Logger log = LoggerFactory.getLogger(DailyReconcileController.class);
    @FXML
    private DatePicker reconcileDate;
    @FXML
    private Button queryBtn;
    @FXML
    private TextField saleReceivableSummary;
    @FXML
    private VBox vBox;
    @FXML
    private TextField gpdhBrId;
    @FXML
    private TextField recardInputSummary;
    @FXML
    private TextField saleInputStorecard;
    @FXML
    private Button addBtn;
    @FXML
    private TextField saleReceivableMedicare;
    @FXML
    private GridPane saleTable;
    @FXML
    private TextField recardInputBankcard;
    @FXML
    private TextField saleInputWechat;
    @FXML
    private TextField saleReceivableCash;
    @FXML
    private GridPane recardTable;
    @FXML
    private TextField saleInputCash;
    @FXML
    private TextField gpdhCheckDate;
    @FXML
    private TextField saleReceivableWechat;
    @FXML
    private ScrollPane scrollPane;
    @FXML
    private TextField saleInputBankcard;
    @FXML
    private TextField recardReceivableBankcard;
    @FXML
    private TextField gpdhEmp;
    @FXML
    private TextField saleReceivableBankcard;
    @FXML
    private TextField saleInputSummary;
    @FXML
    private TextField recardReceivableMedicare;
    @FXML
    private TextField recardInputMedicare;
    @FXML
    private TextField recardReceivableCash;
    @FXML
    private TextField recardReceivableSummary;
    @FXML
    private TextField saleInputMedicare;
    @FXML
    private TextField saleReceivableStorecard;
    @FXML
    private TextField recardInputWechat;
    @FXML
    private TextField recardReceivableWechat;
    @FXML
    private TextField recardInputCash;
    @FXML
    private TextField gpdhSaleDate;
    @FXML
    private TextField saleReceivableAlipay;
    @FXML
    private TextField saleInputAlipay;
    @FXML
    private TextField recardReceivableAlipay;
    @FXML
    private TextField recardInputAlipay;
    @Autowired
    private IndexController indexController;
    @Autowired
    private AddDailyReconcileController addDailyReconcileController;
    private ObservableList<DailyReconcileOutData> dailyReconcileOutDataList = FXCollections.observableArrayList(new ArrayList());

    public void initialize(URL location, ResourceBundle resources) {
        this.scrollPane.setPrefWidth(this.getContentWidth());
        this.scrollPane.setPrefHeight(this.getContentHeight());
        this.vBox.setPrefWidth(this.getContentWidth());
        this.vBox.setPrefHeight(this.getContentHeight());
        StringConverter converter = CommonUtil.dataPickerFormat("yyyyMMdd");
        this.reconcileDate.setConverter(converter);
        this.gpdhBrId.setText(((GetLoginStoreOutData)CacheUtil.get("store")).getStoCode());
        this.gpdhBrId.setEditable(false);
        this.gpdhBrId.setDisable(true);
        this.gpdhSaleDate.setEditable(false);
        this.gpdhSaleDate.setDisable(true);
        this.gpdhEmp.setEditable(false);
        this.gpdhEmp.setDisable(true);
        this.gpdhCheckDate.setEditable(false);
        this.gpdhCheckDate.setDisable(true);
        this.saleReceivableCash.setEditable(false);
        this.saleReceivableCash.setDisable(true);
        this.saleInputCash.setEditable(false);
        this.saleInputCash.setDisable(true);
        this.saleReceivableBankcard.setEditable(false);
        this.saleReceivableBankcard.setDisable(true);
        this.saleInputBankcard.setEditable(false);
        this.saleInputBankcard.setDisable(true);
        this.saleReceivableWechat.setEditable(false);
        this.saleReceivableWechat.setDisable(true);
        this.saleInputWechat.setEditable(false);
        this.saleInputWechat.setDisable(true);
        this.saleReceivableAlipay.setEditable(false);
        this.saleReceivableAlipay.setDisable(true);
        this.saleInputAlipay.setEditable(false);
        this.saleInputAlipay.setDisable(true);
        this.saleReceivableMedicare.setEditable(false);
        this.saleReceivableMedicare.setDisable(true);
        this.saleInputMedicare.setEditable(false);
        this.saleInputMedicare.setDisable(true);
        this.saleReceivableStorecard.setEditable(false);
        this.saleReceivableStorecard.setDisable(true);
        this.saleInputStorecard.setEditable(false);
        this.saleInputStorecard.setDisable(true);
        this.saleReceivableSummary.setEditable(false);
        this.saleReceivableSummary.setDisable(true);
        this.saleInputSummary.setEditable(false);
        this.saleInputSummary.setDisable(true);
        this.recardReceivableCash.setEditable(false);
        this.recardReceivableCash.setDisable(true);
        this.recardInputCash.setEditable(false);
        this.recardInputCash.setDisable(true);
        this.recardReceivableBankcard.setEditable(false);
        this.recardReceivableBankcard.setDisable(true);
        this.recardInputBankcard.setEditable(false);
        this.recardInputBankcard.setDisable(true);
        this.recardReceivableWechat.setEditable(false);
        this.recardReceivableWechat.setDisable(true);
        this.recardInputWechat.setEditable(false);
        this.recardInputWechat.setDisable(true);
        this.recardReceivableAlipay.setEditable(false);
        this.recardReceivableAlipay.setDisable(true);
        this.recardInputAlipay.setEditable(false);
        this.recardInputAlipay.setDisable(true);
        this.recardReceivableMedicare.setEditable(false);
        this.recardReceivableMedicare.setDisable(true);
        this.recardInputMedicare.setEditable(false);
        this.recardInputMedicare.setDisable(true);
        this.recardReceivableSummary.setEditable(false);
        this.recardReceivableSummary.setDisable(true);
        this.recardInputSummary.setEditable(false);
        this.recardInputSummary.setDisable(true);
        this.init();
    }

    @Override
    public void init() {
        if (ObjectUtil.isEmpty(this.scrollPane)) {
            return;
        }
        this.indexController.scrollContentPane.setOnKeyReleased((EventHandler)new EventHandler<KeyEvent>(){

            public void handle(KeyEvent e) {
                if (e.getCode() == KeyCode.ENTER) {
                    DailyReconcileController.this.queryAction();
                } else if (e.getCode() == KeyCode.F1) {
                    DailyReconcileController.this.addAction();
                }
                e.consume();
            }
        });
    }

    @FXML
    void addAction() {
        this.addDailyReconcileController.init();
        GysApplication.showView(addDailyReconcileView.class, (Modality)Modality.APPLICATION_MODAL);
    }

    @FXML
    void queryAction() {
        this.gpdhSaleDate.clear();
        this.gpdhEmp.clear();
        this.gpdhCheckDate.clear();
        this.saleReceivableCash.clear();
        this.saleInputCash.clear();
        this.recardReceivableCash.clear();
        this.recardInputCash.clear();
        this.saleReceivableBankcard.clear();
        this.saleInputBankcard.clear();
        this.recardReceivableBankcard.clear();
        this.recardInputBankcard.clear();
        this.saleReceivableWechat.clear();
        this.saleInputWechat.clear();
        this.recardReceivableWechat.clear();
        this.recardInputWechat.clear();
        this.saleReceivableAlipay.clear();
        this.saleInputAlipay.clear();
        this.recardReceivableAlipay.clear();
        this.recardInputAlipay.clear();
        this.saleReceivableMedicare.clear();
        this.saleInputMedicare.clear();
        this.recardReceivableMedicare.clear();
        this.recardInputMedicare.clear();
        this.saleReceivableStorecard.clear();
        this.saleInputStorecard.clear();
        this.saleReceivableSummary.clear();
        this.saleInputSummary.clear();
        this.recardReceivableSummary.clear();
        this.recardInputSummary.clear();
        Alert alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", null);
        if (ObjectUtil.isNull(this.reconcileDate.getValue())) {
            alert.setContentText("\u8bf7\u586b\u5199\u5bf9\u8d26\u65e5\u671f");
            alert.showAndWait();
            return;
        }
        DailyReconcileInData inData = new DailyReconcileInData();
        inData.setClientId(((GetUserOutData)CacheUtil.get("logInUser")).getClient());
        inData.setGpdhBrId(((GetLoginStoreOutData)CacheUtil.get("store")).getStoCode());
        inData.setGpdhSaleDate(DateUtil.format((Date)DateUtil.parse((String)((LocalDate)this.reconcileDate.getValue()).toString()), (String)"yyyyMMdd"));
        String voucherId = "";
        List<DailyReconcileOutData> outDataList = null;
        HttpJson rsp = DailyReconcileUtil.getDailyReconcileInfo(inData);
        if (rsp.isSuccess()) {
            outDataList = JSON.parseArray((String)rsp.getMsg(), DailyReconcileOutData.class);
            if (outDataList.size() > 0) {
                for (DailyReconcileOutData outData : outDataList) {
                    this.gpdhSaleDate.setText(outData.getGpdhSaleDate());
                    this.gpdhEmp.setText(outData.getGpdhEmp());
                    this.gpdhCheckDate.setText(outData.getGpdhCheckDate());
                    voucherId = outData.getGpdhVoucherId();
                }
            }
        } else {
            alert.setContentText(rsp.getMsg());
            alert.showAndWait();
            return;
        }
        if (StrUtil.isNotBlank((CharSequence)voucherId)) {
            DailyReconcileOutData param = new DailyReconcileOutData();
            param.setClientId(((GetUserOutData)CacheUtil.get("logInUser")).getClient());
            param.setGpdhBrId(((GetLoginStoreOutData)CacheUtil.get("store")).getStoCode());
            param.setGpdhVoucherId(voucherId);
            List<DailyReconcileDetailOutData> detailOutDataList = null;
            HttpJson rsp2 = DailyReconcileUtil.getDailyReconcileDetailInfo(param);
            if (rsp2.isSuccess()) {
                detailOutDataList = JSON.parseArray((String)rsp2.getMsg(), DailyReconcileDetailOutData.class);
                BigDecimal amt1 = BigDecimal.ZERO;
                BigDecimal amt2 = BigDecimal.ZERO;
                BigDecimal amt3 = BigDecimal.ZERO;
                BigDecimal amt4 = BigDecimal.ZERO;
                for (DailyReconcileDetailOutData outData : detailOutDataList) {
                    if (!ObjectUtil.isNotNull(outData)) continue;
                    if (PayMethod.P1.getCode().equals(outData.getGspddSalePaymethodId())) {
                        amt1 = amt1.add(new BigDecimal(outData.getGspddSaleReceivableAmt()));
                        this.saleReceivableCash.setText(outData.getGspddSaleReceivableAmt());
                        amt2 = amt2.add(new BigDecimal(outData.getGspddSaleInputAmt()));
                        this.saleInputCash.setText(outData.getGspddSaleInputAmt());
                        amt3 = amt3.add(new BigDecimal(outData.getGspddRecardReceivableAmt()));
                        this.recardReceivableCash.setText(outData.getGspddRecardReceivableAmt());
                        amt4 = amt4.add(new BigDecimal(outData.getGspddRecardInputAmt()));
                        this.recardInputCash.setText(outData.getGspddRecardInputAmt());
                    }
                    if (PayMethod.P2.getCode().equals(outData.getGspddSalePaymethodId())) {
                        amt1 = amt1.add(new BigDecimal(outData.getGspddSaleReceivableAmt()));
                        this.saleReceivableBankcard.setText(outData.getGspddSaleReceivableAmt());
                        amt2 = amt2.add(new BigDecimal(outData.getGspddSaleInputAmt()));
                        this.saleInputBankcard.setText(outData.getGspddSaleInputAmt());
                        amt3 = amt3.add(new BigDecimal(outData.getGspddRecardReceivableAmt()));
                        this.recardReceivableBankcard.setText(outData.getGspddRecardReceivableAmt());
                        amt4 = amt4.add(new BigDecimal(outData.getGspddRecardInputAmt()));
                        this.recardInputBankcard.setText(outData.getGspddRecardInputAmt());
                    }
                    if (PayMethod.P3.getCode().equals(outData.getGspddSalePaymethodId())) {
                        amt1 = amt1.add(new BigDecimal(outData.getGspddSaleReceivableAmt()));
                        this.saleReceivableWechat.setText(outData.getGspddSaleReceivableAmt());
                        amt2 = amt2.add(new BigDecimal(outData.getGspddSaleInputAmt()));
                        this.saleInputWechat.setText(outData.getGspddSaleInputAmt());
                        amt3 = amt3.add(new BigDecimal(outData.getGspddRecardReceivableAmt()));
                        this.recardReceivableWechat.setText(outData.getGspddRecardReceivableAmt());
                        amt4 = amt4.add(new BigDecimal(outData.getGspddRecardInputAmt()));
                        this.recardInputWechat.setText(outData.getGspddRecardInputAmt());
                    }
                    if (PayMethod.P4.getCode().equals(outData.getGspddSalePaymethodId())) {
                        amt1 = amt1.add(new BigDecimal(outData.getGspddSaleReceivableAmt()));
                        this.saleReceivableAlipay.setText(outData.getGspddSaleReceivableAmt());
                        amt2 = amt2.add(new BigDecimal(outData.getGspddSaleInputAmt()));
                        this.saleInputAlipay.setText(outData.getGspddSaleInputAmt());
                        amt3 = amt3.add(new BigDecimal(outData.getGspddRecardReceivableAmt()));
                        this.recardReceivableAlipay.setText(outData.getGspddRecardReceivableAmt());
                        amt4 = amt4.add(new BigDecimal(outData.getGspddRecardInputAmt()));
                        this.recardInputAlipay.setText(outData.getGspddRecardInputAmt());
                    }
                    if (PayMethod.P5.getCode().equals(outData.getGspddSalePaymethodId())) {
                        amt1 = amt1.add(new BigDecimal(outData.getGspddSaleReceivableAmt()));
                        this.saleReceivableMedicare.setText(outData.getGspddSaleReceivableAmt());
                        amt2 = amt2.add(new BigDecimal(outData.getGspddSaleInputAmt()));
                        this.saleInputMedicare.setText(outData.getGspddSaleInputAmt());
                        amt3 = amt3.add(new BigDecimal(outData.getGspddRecardReceivableAmt()));
                        this.recardReceivableMedicare.setText(outData.getGspddRecardReceivableAmt());
                        amt4 = amt4.add(new BigDecimal(outData.getGspddRecardInputAmt()));
                        this.recardInputMedicare.setText(outData.getGspddRecardInputAmt());
                    }
                    if (!PayMethod.P6.getCode().equals(outData.getGspddSalePaymethodId())) continue;
                    amt1 = amt1.add(new BigDecimal(outData.getGspddSaleReceivableAmt()));
                    this.saleReceivableStorecard.setText(outData.getGspddSaleReceivableAmt());
                    amt2 = amt2.add(new BigDecimal(outData.getGspddSaleInputAmt()));
                    this.saleInputStorecard.setText(outData.getGspddSaleInputAmt());
                }
                this.saleReceivableSummary.setText(amt1.toString());
                this.saleInputSummary.setText(amt2.toString());
                this.recardReceivableSummary.setText(amt3.toString());
                this.recardInputSummary.setText(amt4.toString());
            } else {
                alert.setContentText(rsp.getMsg());
                alert.showAndWait();
                return;
            }
        }
    }

    @FXML
    private void reset() {
        this.reconcileDate.setValue(null);
    }

    public DatePicker getReconcileDate() {
        return this.reconcileDate;
    }

    public Button getQueryBtn() {
        return this.queryBtn;
    }

    public TextField getSaleReceivableSummary() {
        return this.saleReceivableSummary;
    }

    public VBox getVBox() {
        return this.vBox;
    }

    public TextField getGpdhBrId() {
        return this.gpdhBrId;
    }

    public TextField getRecardInputSummary() {
        return this.recardInputSummary;
    }

    public TextField getSaleInputStorecard() {
        return this.saleInputStorecard;
    }

    public Button getAddBtn() {
        return this.addBtn;
    }

    public TextField getSaleReceivableMedicare() {
        return this.saleReceivableMedicare;
    }

    public GridPane getSaleTable() {
        return this.saleTable;
    }

    public TextField getRecardInputBankcard() {
        return this.recardInputBankcard;
    }

    public TextField getSaleInputWechat() {
        return this.saleInputWechat;
    }

    public TextField getSaleReceivableCash() {
        return this.saleReceivableCash;
    }

    public GridPane getRecardTable() {
        return this.recardTable;
    }

    public TextField getSaleInputCash() {
        return this.saleInputCash;
    }

    public TextField getGpdhCheckDate() {
        return this.gpdhCheckDate;
    }

    public TextField getSaleReceivableWechat() {
        return this.saleReceivableWechat;
    }

    public ScrollPane getScrollPane() {
        return this.scrollPane;
    }

    public TextField getSaleInputBankcard() {
        return this.saleInputBankcard;
    }

    public TextField getRecardReceivableBankcard() {
        return this.recardReceivableBankcard;
    }

    public TextField getGpdhEmp() {
        return this.gpdhEmp;
    }

    public TextField getSaleReceivableBankcard() {
        return this.saleReceivableBankcard;
    }

    public TextField getSaleInputSummary() {
        return this.saleInputSummary;
    }

    public TextField getRecardReceivableMedicare() {
        return this.recardReceivableMedicare;
    }

    public TextField getRecardInputMedicare() {
        return this.recardInputMedicare;
    }

    public TextField getRecardReceivableCash() {
        return this.recardReceivableCash;
    }

    public TextField getRecardReceivableSummary() {
        return this.recardReceivableSummary;
    }

    public TextField getSaleInputMedicare() {
        return this.saleInputMedicare;
    }

    public TextField getSaleReceivableStorecard() {
        return this.saleReceivableStorecard;
    }

    public TextField getRecardInputWechat() {
        return this.recardInputWechat;
    }

    public TextField getRecardReceivableWechat() {
        return this.recardReceivableWechat;
    }

    public TextField getRecardInputCash() {
        return this.recardInputCash;
    }

    public TextField getGpdhSaleDate() {
        return this.gpdhSaleDate;
    }

    public TextField getSaleReceivableAlipay() {
        return this.saleReceivableAlipay;
    }

    public TextField getSaleInputAlipay() {
        return this.saleInputAlipay;
    }

    public TextField getRecardReceivableAlipay() {
        return this.recardReceivableAlipay;
    }

    public TextField getRecardInputAlipay() {
        return this.recardInputAlipay;
    }

    public IndexController getIndexController() {
        return this.indexController;
    }

    public AddDailyReconcileController getAddDailyReconcileController() {
        return this.addDailyReconcileController;
    }

    public ObservableList<DailyReconcileOutData> getDailyReconcileOutDataList() {
        return this.dailyReconcileOutDataList;
    }

    public void setReconcileDate(DatePicker reconcileDate) {
        this.reconcileDate = reconcileDate;
    }

    public void setQueryBtn(Button queryBtn) {
        this.queryBtn = queryBtn;
    }

    public void setSaleReceivableSummary(TextField saleReceivableSummary) {
        this.saleReceivableSummary = saleReceivableSummary;
    }

    public void setVBox(VBox vBox) {
        this.vBox = vBox;
    }

    public void setGpdhBrId(TextField gpdhBrId) {
        this.gpdhBrId = gpdhBrId;
    }

    public void setRecardInputSummary(TextField recardInputSummary) {
        this.recardInputSummary = recardInputSummary;
    }

    public void setSaleInputStorecard(TextField saleInputStorecard) {
        this.saleInputStorecard = saleInputStorecard;
    }

    public void setAddBtn(Button addBtn) {
        this.addBtn = addBtn;
    }

    public void setSaleReceivableMedicare(TextField saleReceivableMedicare) {
        this.saleReceivableMedicare = saleReceivableMedicare;
    }

    public void setSaleTable(GridPane saleTable) {
        this.saleTable = saleTable;
    }

    public void setRecardInputBankcard(TextField recardInputBankcard) {
        this.recardInputBankcard = recardInputBankcard;
    }

    public void setSaleInputWechat(TextField saleInputWechat) {
        this.saleInputWechat = saleInputWechat;
    }

    public void setSaleReceivableCash(TextField saleReceivableCash) {
        this.saleReceivableCash = saleReceivableCash;
    }

    public void setRecardTable(GridPane recardTable) {
        this.recardTable = recardTable;
    }

    public void setSaleInputCash(TextField saleInputCash) {
        this.saleInputCash = saleInputCash;
    }

    public void setGpdhCheckDate(TextField gpdhCheckDate) {
        this.gpdhCheckDate = gpdhCheckDate;
    }

    public void setSaleReceivableWechat(TextField saleReceivableWechat) {
        this.saleReceivableWechat = saleReceivableWechat;
    }

    public void setScrollPane(ScrollPane scrollPane) {
        this.scrollPane = scrollPane;
    }

    public void setSaleInputBankcard(TextField saleInputBankcard) {
        this.saleInputBankcard = saleInputBankcard;
    }

    public void setRecardReceivableBankcard(TextField recardReceivableBankcard) {
        this.recardReceivableBankcard = recardReceivableBankcard;
    }

    public void setGpdhEmp(TextField gpdhEmp) {
        this.gpdhEmp = gpdhEmp;
    }

    public void setSaleReceivableBankcard(TextField saleReceivableBankcard) {
        this.saleReceivableBankcard = saleReceivableBankcard;
    }

    public void setSaleInputSummary(TextField saleInputSummary) {
        this.saleInputSummary = saleInputSummary;
    }

    public void setRecardReceivableMedicare(TextField recardReceivableMedicare) {
        this.recardReceivableMedicare = recardReceivableMedicare;
    }

    public void setRecardInputMedicare(TextField recardInputMedicare) {
        this.recardInputMedicare = recardInputMedicare;
    }

    public void setRecardReceivableCash(TextField recardReceivableCash) {
        this.recardReceivableCash = recardReceivableCash;
    }

    public void setRecardReceivableSummary(TextField recardReceivableSummary) {
        this.recardReceivableSummary = recardReceivableSummary;
    }

    public void setSaleInputMedicare(TextField saleInputMedicare) {
        this.saleInputMedicare = saleInputMedicare;
    }

    public void setSaleReceivableStorecard(TextField saleReceivableStorecard) {
        this.saleReceivableStorecard = saleReceivableStorecard;
    }

    public void setRecardInputWechat(TextField recardInputWechat) {
        this.recardInputWechat = recardInputWechat;
    }

    public void setRecardReceivableWechat(TextField recardReceivableWechat) {
        this.recardReceivableWechat = recardReceivableWechat;
    }

    public void setRecardInputCash(TextField recardInputCash) {
        this.recardInputCash = recardInputCash;
    }

    public void setGpdhSaleDate(TextField gpdhSaleDate) {
        this.gpdhSaleDate = gpdhSaleDate;
    }

    public void setSaleReceivableAlipay(TextField saleReceivableAlipay) {
        this.saleReceivableAlipay = saleReceivableAlipay;
    }

    public void setSaleInputAlipay(TextField saleInputAlipay) {
        this.saleInputAlipay = saleInputAlipay;
    }

    public void setRecardReceivableAlipay(TextField recardReceivableAlipay) {
        this.recardReceivableAlipay = recardReceivableAlipay;
    }

    public void setRecardInputAlipay(TextField recardInputAlipay) {
        this.recardInputAlipay = recardInputAlipay;
    }

    public void setIndexController(IndexController indexController) {
        this.indexController = indexController;
    }

    public void setAddDailyReconcileController(AddDailyReconcileController addDailyReconcileController) {
        this.addDailyReconcileController = addDailyReconcileController;
    }

    public void setDailyReconcileOutDataList(ObservableList<DailyReconcileOutData> dailyReconcileOutDataList) {
        this.dailyReconcileOutDataList = dailyReconcileOutDataList;
    }

    public boolean equals(Object o) {
        if (o == this) {
            return true;
        }
        if (!(o instanceof DailyReconcileController)) {
            return false;
        }
        DailyReconcileController other = (DailyReconcileController)o;
        if (!other.canEqual(this)) {
            return false;
        }
        DatePicker this$reconcileDate = this.getReconcileDate();
        DatePicker other$reconcileDate = other.getReconcileDate();
        if (this$reconcileDate == null ? other$reconcileDate != null : !this$reconcileDate.equals(other$reconcileDate)) {
            return false;
        }
        Button this$queryBtn = this.getQueryBtn();
        Button other$queryBtn = other.getQueryBtn();
        if (this$queryBtn == null ? other$queryBtn != null : !this$queryBtn.equals(other$queryBtn)) {
            return false;
        }
        TextField this$saleReceivableSummary = this.getSaleReceivableSummary();
        TextField other$saleReceivableSummary = other.getSaleReceivableSummary();
        if (this$saleReceivableSummary == null ? other$saleReceivableSummary != null : !this$saleReceivableSummary.equals(other$saleReceivableSummary)) {
            return false;
        }
        VBox this$vBox = this.getVBox();
        VBox other$vBox = other.getVBox();
        if (this$vBox == null ? other$vBox != null : !this$vBox.equals(other$vBox)) {
            return false;
        }
        TextField this$gpdhBrId = this.getGpdhBrId();
        TextField other$gpdhBrId = other.getGpdhBrId();
        if (this$gpdhBrId == null ? other$gpdhBrId != null : !this$gpdhBrId.equals(other$gpdhBrId)) {
            return false;
        }
        TextField this$recardInputSummary = this.getRecardInputSummary();
        TextField other$recardInputSummary = other.getRecardInputSummary();
        if (this$recardInputSummary == null ? other$recardInputSummary != null : !this$recardInputSummary.equals(other$recardInputSummary)) {
            return false;
        }
        TextField this$saleInputStorecard = this.getSaleInputStorecard();
        TextField other$saleInputStorecard = other.getSaleInputStorecard();
        if (this$saleInputStorecard == null ? other$saleInputStorecard != null : !this$saleInputStorecard.equals(other$saleInputStorecard)) {
            return false;
        }
        Button this$addBtn = this.getAddBtn();
        Button other$addBtn = other.getAddBtn();
        if (this$addBtn == null ? other$addBtn != null : !this$addBtn.equals(other$addBtn)) {
            return false;
        }
        TextField this$saleReceivableMedicare = this.getSaleReceivableMedicare();
        TextField other$saleReceivableMedicare = other.getSaleReceivableMedicare();
        if (this$saleReceivableMedicare == null ? other$saleReceivableMedicare != null : !this$saleReceivableMedicare.equals(other$saleReceivableMedicare)) {
            return false;
        }
        GridPane this$saleTable = this.getSaleTable();
        GridPane other$saleTable = other.getSaleTable();
        if (this$saleTable == null ? other$saleTable != null : !this$saleTable.equals(other$saleTable)) {
            return false;
        }
        TextField this$recardInputBankcard = this.getRecardInputBankcard();
        TextField other$recardInputBankcard = other.getRecardInputBankcard();
        if (this$recardInputBankcard == null ? other$recardInputBankcard != null : !this$recardInputBankcard.equals(other$recardInputBankcard)) {
            return false;
        }
        TextField this$saleInputWechat = this.getSaleInputWechat();
        TextField other$saleInputWechat = other.getSaleInputWechat();
        if (this$saleInputWechat == null ? other$saleInputWechat != null : !this$saleInputWechat.equals(other$saleInputWechat)) {
            return false;
        }
        TextField this$saleReceivableCash = this.getSaleReceivableCash();
        TextField other$saleReceivableCash = other.getSaleReceivableCash();
        if (this$saleReceivableCash == null ? other$saleReceivableCash != null : !this$saleReceivableCash.equals(other$saleReceivableCash)) {
            return false;
        }
        GridPane this$recardTable = this.getRecardTable();
        GridPane other$recardTable = other.getRecardTable();
        if (this$recardTable == null ? other$recardTable != null : !this$recardTable.equals(other$recardTable)) {
            return false;
        }
        TextField this$saleInputCash = this.getSaleInputCash();
        TextField other$saleInputCash = other.getSaleInputCash();
        if (this$saleInputCash == null ? other$saleInputCash != null : !this$saleInputCash.equals(other$saleInputCash)) {
            return false;
        }
        TextField this$gpdhCheckDate = this.getGpdhCheckDate();
        TextField other$gpdhCheckDate = other.getGpdhCheckDate();
        if (this$gpdhCheckDate == null ? other$gpdhCheckDate != null : !this$gpdhCheckDate.equals(other$gpdhCheckDate)) {
            return false;
        }
        TextField this$saleReceivableWechat = this.getSaleReceivableWechat();
        TextField other$saleReceivableWechat = other.getSaleReceivableWechat();
        if (this$saleReceivableWechat == null ? other$saleReceivableWechat != null : !this$saleReceivableWechat.equals(other$saleReceivableWechat)) {
            return false;
        }
        ScrollPane this$scrollPane = this.getScrollPane();
        ScrollPane other$scrollPane = other.getScrollPane();
        if (this$scrollPane == null ? other$scrollPane != null : !this$scrollPane.equals(other$scrollPane)) {
            return false;
        }
        TextField this$saleInputBankcard = this.getSaleInputBankcard();
        TextField other$saleInputBankcard = other.getSaleInputBankcard();
        if (this$saleInputBankcard == null ? other$saleInputBankcard != null : !this$saleInputBankcard.equals(other$saleInputBankcard)) {
            return false;
        }
        TextField this$recardReceivableBankcard = this.getRecardReceivableBankcard();
        TextField other$recardReceivableBankcard = other.getRecardReceivableBankcard();
        if (this$recardReceivableBankcard == null ? other$recardReceivableBankcard != null : !this$recardReceivableBankcard.equals(other$recardReceivableBankcard)) {
            return false;
        }
        TextField this$gpdhEmp = this.getGpdhEmp();
        TextField other$gpdhEmp = other.getGpdhEmp();
        if (this$gpdhEmp == null ? other$gpdhEmp != null : !this$gpdhEmp.equals(other$gpdhEmp)) {
            return false;
        }
        TextField this$saleReceivableBankcard = this.getSaleReceivableBankcard();
        TextField other$saleReceivableBankcard = other.getSaleReceivableBankcard();
        if (this$saleReceivableBankcard == null ? other$saleReceivableBankcard != null : !this$saleReceivableBankcard.equals(other$saleReceivableBankcard)) {
            return false;
        }
        TextField this$saleInputSummary = this.getSaleInputSummary();
        TextField other$saleInputSummary = other.getSaleInputSummary();
        if (this$saleInputSummary == null ? other$saleInputSummary != null : !this$saleInputSummary.equals(other$saleInputSummary)) {
            return false;
        }
        TextField this$recardReceivableMedicare = this.getRecardReceivableMedicare();
        TextField other$recardReceivableMedicare = other.getRecardReceivableMedicare();
        if (this$recardReceivableMedicare == null ? other$recardReceivableMedicare != null : !this$recardReceivableMedicare.equals(other$recardReceivableMedicare)) {
            return false;
        }
        TextField this$recardInputMedicare = this.getRecardInputMedicare();
        TextField other$recardInputMedicare = other.getRecardInputMedicare();
        if (this$recardInputMedicare == null ? other$recardInputMedicare != null : !this$recardInputMedicare.equals(other$recardInputMedicare)) {
            return false;
        }
        TextField this$recardReceivableCash = this.getRecardReceivableCash();
        TextField other$recardReceivableCash = other.getRecardReceivableCash();
        if (this$recardReceivableCash == null ? other$recardReceivableCash != null : !this$recardReceivableCash.equals(other$recardReceivableCash)) {
            return false;
        }
        TextField this$recardReceivableSummary = this.getRecardReceivableSummary();
        TextField other$recardReceivableSummary = other.getRecardReceivableSummary();
        if (this$recardReceivableSummary == null ? other$recardReceivableSummary != null : !this$recardReceivableSummary.equals(other$recardReceivableSummary)) {
            return false;
        }
        TextField this$saleInputMedicare = this.getSaleInputMedicare();
        TextField other$saleInputMedicare = other.getSaleInputMedicare();
        if (this$saleInputMedicare == null ? other$saleInputMedicare != null : !this$saleInputMedicare.equals(other$saleInputMedicare)) {
            return false;
        }
        TextField this$saleReceivableStorecard = this.getSaleReceivableStorecard();
        TextField other$saleReceivableStorecard = other.getSaleReceivableStorecard();
        if (this$saleReceivableStorecard == null ? other$saleReceivableStorecard != null : !this$saleReceivableStorecard.equals(other$saleReceivableStorecard)) {
            return false;
        }
        TextField this$recardInputWechat = this.getRecardInputWechat();
        TextField other$recardInputWechat = other.getRecardInputWechat();
        if (this$recardInputWechat == null ? other$recardInputWechat != null : !this$recardInputWechat.equals(other$recardInputWechat)) {
            return false;
        }
        TextField this$recardReceivableWechat = this.getRecardReceivableWechat();
        TextField other$recardReceivableWechat = other.getRecardReceivableWechat();
        if (this$recardReceivableWechat == null ? other$recardReceivableWechat != null : !this$recardReceivableWechat.equals(other$recardReceivableWechat)) {
            return false;
        }
        TextField this$recardInputCash = this.getRecardInputCash();
        TextField other$recardInputCash = other.getRecardInputCash();
        if (this$recardInputCash == null ? other$recardInputCash != null : !this$recardInputCash.equals(other$recardInputCash)) {
            return false;
        }
        TextField this$gpdhSaleDate = this.getGpdhSaleDate();
        TextField other$gpdhSaleDate = other.getGpdhSaleDate();
        if (this$gpdhSaleDate == null ? other$gpdhSaleDate != null : !this$gpdhSaleDate.equals(other$gpdhSaleDate)) {
            return false;
        }
        TextField this$saleReceivableAlipay = this.getSaleReceivableAlipay();
        TextField other$saleReceivableAlipay = other.getSaleReceivableAlipay();
        if (this$saleReceivableAlipay == null ? other$saleReceivableAlipay != null : !this$saleReceivableAlipay.equals(other$saleReceivableAlipay)) {
            return false;
        }
        TextField this$saleInputAlipay = this.getSaleInputAlipay();
        TextField other$saleInputAlipay = other.getSaleInputAlipay();
        if (this$saleInputAlipay == null ? other$saleInputAlipay != null : !this$saleInputAlipay.equals(other$saleInputAlipay)) {
            return false;
        }
        TextField this$recardReceivableAlipay = this.getRecardReceivableAlipay();
        TextField other$recardReceivableAlipay = other.getRecardReceivableAlipay();
        if (this$recardReceivableAlipay == null ? other$recardReceivableAlipay != null : !this$recardReceivableAlipay.equals(other$recardReceivableAlipay)) {
            return false;
        }
        TextField this$recardInputAlipay = this.getRecardInputAlipay();
        TextField other$recardInputAlipay = other.getRecardInputAlipay();
        if (this$recardInputAlipay == null ? other$recardInputAlipay != null : !this$recardInputAlipay.equals(other$recardInputAlipay)) {
            return false;
        }
        IndexController this$indexController = this.getIndexController();
        IndexController other$indexController = other.getIndexController();
        if (this$indexController == null ? other$indexController != null : !(this$indexController).equals(other$indexController)) {
            return false;
        }
        AddDailyReconcileController this$addDailyReconcileController = this.getAddDailyReconcileController();
        AddDailyReconcileController other$addDailyReconcileController = other.getAddDailyReconcileController();
        if (this$addDailyReconcileController == null ? other$addDailyReconcileController != null : !(this$addDailyReconcileController).equals(other$addDailyReconcileController)) {
            return false;
        }
        ObservableList<DailyReconcileOutData> this$dailyReconcileOutDataList = this.getDailyReconcileOutDataList();
        ObservableList<DailyReconcileOutData> other$dailyReconcileOutDataList = other.getDailyReconcileOutDataList();
        return !(this$dailyReconcileOutDataList == null ? other$dailyReconcileOutDataList != null : !this$dailyReconcileOutDataList.equals(other$dailyReconcileOutDataList));
    }

    protected boolean canEqual(Object other) {
        return other instanceof DailyReconcileController;
    }

    public int hashCode() {
        int PRIME = 59;
        int result = 1;
        DatePicker $reconcileDate = this.getReconcileDate();
        result = result * 59 + ($reconcileDate == null ? 43 : $reconcileDate.hashCode());
        Button $queryBtn = this.getQueryBtn();
        result = result * 59 + ($queryBtn == null ? 43 : $queryBtn.hashCode());
        TextField $saleReceivableSummary = this.getSaleReceivableSummary();
        result = result * 59 + ($saleReceivableSummary == null ? 43 : $saleReceivableSummary.hashCode());
        VBox $vBox = this.getVBox();
        result = result * 59 + ($vBox == null ? 43 : $vBox.hashCode());
        TextField $gpdhBrId = this.getGpdhBrId();
        result = result * 59 + ($gpdhBrId == null ? 43 : $gpdhBrId.hashCode());
        TextField $recardInputSummary = this.getRecardInputSummary();
        result = result * 59 + ($recardInputSummary == null ? 43 : $recardInputSummary.hashCode());
        TextField $saleInputStorecard = this.getSaleInputStorecard();
        result = result * 59 + ($saleInputStorecard == null ? 43 : $saleInputStorecard.hashCode());
        Button $addBtn = this.getAddBtn();
        result = result * 59 + ($addBtn == null ? 43 : $addBtn.hashCode());
        TextField $saleReceivableMedicare = this.getSaleReceivableMedicare();
        result = result * 59 + ($saleReceivableMedicare == null ? 43 : $saleReceivableMedicare.hashCode());
        GridPane $saleTable = this.getSaleTable();
        result = result * 59 + ($saleTable == null ? 43 : $saleTable.hashCode());
        TextField $recardInputBankcard = this.getRecardInputBankcard();
        result = result * 59 + ($recardInputBankcard == null ? 43 : $recardInputBankcard.hashCode());
        TextField $saleInputWechat = this.getSaleInputWechat();
        result = result * 59 + ($saleInputWechat == null ? 43 : $saleInputWechat.hashCode());
        TextField $saleReceivableCash = this.getSaleReceivableCash();
        result = result * 59 + ($saleReceivableCash == null ? 43 : $saleReceivableCash.hashCode());
        GridPane $recardTable = this.getRecardTable();
        result = result * 59 + ($recardTable == null ? 43 : $recardTable.hashCode());
        TextField $saleInputCash = this.getSaleInputCash();
        result = result * 59 + ($saleInputCash == null ? 43 : $saleInputCash.hashCode());
        TextField $gpdhCheckDate = this.getGpdhCheckDate();
        result = result * 59 + ($gpdhCheckDate == null ? 43 : $gpdhCheckDate.hashCode());
        TextField $saleReceivableWechat = this.getSaleReceivableWechat();
        result = result * 59 + ($saleReceivableWechat == null ? 43 : $saleReceivableWechat.hashCode());
        ScrollPane $scrollPane = this.getScrollPane();
        result = result * 59 + ($scrollPane == null ? 43 : $scrollPane.hashCode());
        TextField $saleInputBankcard = this.getSaleInputBankcard();
        result = result * 59 + ($saleInputBankcard == null ? 43 : $saleInputBankcard.hashCode());
        TextField $recardReceivableBankcard = this.getRecardReceivableBankcard();
        result = result * 59 + ($recardReceivableBankcard == null ? 43 : $recardReceivableBankcard.hashCode());
        TextField $gpdhEmp = this.getGpdhEmp();
        result = result * 59 + ($gpdhEmp == null ? 43 : $gpdhEmp.hashCode());
        TextField $saleReceivableBankcard = this.getSaleReceivableBankcard();
        result = result * 59 + ($saleReceivableBankcard == null ? 43 : $saleReceivableBankcard.hashCode());
        TextField $saleInputSummary = this.getSaleInputSummary();
        result = result * 59 + ($saleInputSummary == null ? 43 : $saleInputSummary.hashCode());
        TextField $recardReceivableMedicare = this.getRecardReceivableMedicare();
        result = result * 59 + ($recardReceivableMedicare == null ? 43 : $recardReceivableMedicare.hashCode());
        TextField $recardInputMedicare = this.getRecardInputMedicare();
        result = result * 59 + ($recardInputMedicare == null ? 43 : $recardInputMedicare.hashCode());
        TextField $recardReceivableCash = this.getRecardReceivableCash();
        result = result * 59 + ($recardReceivableCash == null ? 43 : $recardReceivableCash.hashCode());
        TextField $recardReceivableSummary = this.getRecardReceivableSummary();
        result = result * 59 + ($recardReceivableSummary == null ? 43 : $recardReceivableSummary.hashCode());
        TextField $saleInputMedicare = this.getSaleInputMedicare();
        result = result * 59 + ($saleInputMedicare == null ? 43 : $saleInputMedicare.hashCode());
        TextField $saleReceivableStorecard = this.getSaleReceivableStorecard();
        result = result * 59 + ($saleReceivableStorecard == null ? 43 : $saleReceivableStorecard.hashCode());
        TextField $recardInputWechat = this.getRecardInputWechat();
        result = result * 59 + ($recardInputWechat == null ? 43 : $recardInputWechat.hashCode());
        TextField $recardReceivableWechat = this.getRecardReceivableWechat();
        result = result * 59 + ($recardReceivableWechat == null ? 43 : $recardReceivableWechat.hashCode());
        TextField $recardInputCash = this.getRecardInputCash();
        result = result * 59 + ($recardInputCash == null ? 43 : $recardInputCash.hashCode());
        TextField $gpdhSaleDate = this.getGpdhSaleDate();
        result = result * 59 + ($gpdhSaleDate == null ? 43 : $gpdhSaleDate.hashCode());
        TextField $saleReceivableAlipay = this.getSaleReceivableAlipay();
        result = result * 59 + ($saleReceivableAlipay == null ? 43 : $saleReceivableAlipay.hashCode());
        TextField $saleInputAlipay = this.getSaleInputAlipay();
        result = result * 59 + ($saleInputAlipay == null ? 43 : $saleInputAlipay.hashCode());
        TextField $recardReceivableAlipay = this.getRecardReceivableAlipay();
        result = result * 59 + ($recardReceivableAlipay == null ? 43 : $recardReceivableAlipay.hashCode());
        TextField $recardInputAlipay = this.getRecardInputAlipay();
        result = result * 59 + ($recardInputAlipay == null ? 43 : $recardInputAlipay.hashCode());
        IndexController $indexController = this.getIndexController();
        result = result * 59 + ($indexController == null ? 43 : ($indexController).hashCode());
        AddDailyReconcileController $addDailyReconcileController = this.getAddDailyReconcileController();
        result = result * 59 + ($addDailyReconcileController == null ? 43 : ($addDailyReconcileController).hashCode());
        ObservableList<DailyReconcileOutData> $dailyReconcileOutDataList = this.getDailyReconcileOutDataList();
        result = result * 59 + ($dailyReconcileOutDataList == null ? 43 : $dailyReconcileOutDataList.hashCode());
        return result;
    }

    public String toString() {
        return "DailyReconcileController(reconcileDate=" + this.getReconcileDate() + ", queryBtn=" + this.getQueryBtn() + ", saleReceivableSummary=" + this.getSaleReceivableSummary() + ", vBox=" + this.getVBox() + ", gpdhBrId=" + this.getGpdhBrId() + ", recardInputSummary=" + this.getRecardInputSummary() + ", saleInputStorecard=" + this.getSaleInputStorecard() + ", addBtn=" + this.getAddBtn() + ", saleReceivableMedicare=" + this.getSaleReceivableMedicare() + ", saleTable=" + this.getSaleTable() + ", recardInputBankcard=" + this.getRecardInputBankcard() + ", saleInputWechat=" + this.getSaleInputWechat() + ", saleReceivableCash=" + this.getSaleReceivableCash() + ", recardTable=" + this.getRecardTable() + ", saleInputCash=" + this.getSaleInputCash() + ", gpdhCheckDate=" + this.getGpdhCheckDate() + ", saleReceivableWechat=" + this.getSaleReceivableWechat() + ", scrollPane=" + this.getScrollPane() + ", saleInputBankcard=" + this.getSaleInputBankcard() + ", recardReceivableBankcard=" + this.getRecardReceivableBankcard() + ", gpdhEmp=" + this.getGpdhEmp() + ", saleReceivableBankcard=" + this.getSaleReceivableBankcard() + ", saleInputSummary=" + this.getSaleInputSummary() + ", recardReceivableMedicare=" + this.getRecardReceivableMedicare() + ", recardInputMedicare=" + this.getRecardInputMedicare() + ", recardReceivableCash=" + this.getRecardReceivableCash() + ", recardReceivableSummary=" + this.getRecardReceivableSummary() + ", saleInputMedicare=" + this.getSaleInputMedicare() + ", saleReceivableStorecard=" + this.getSaleReceivableStorecard() + ", recardInputWechat=" + this.getRecardInputWechat() + ", recardReceivableWechat=" + this.getRecardReceivableWechat() + ", recardInputCash=" + this.getRecardInputCash() + ", gpdhSaleDate=" + this.getGpdhSaleDate() + ", saleReceivableAlipay=" + this.getSaleReceivableAlipay() + ", saleInputAlipay=" + this.getSaleInputAlipay() + ", recardReceivableAlipay=" + this.getRecardReceivableAlipay() + ", recardInputAlipay=" + this.getRecardInputAlipay() + ", indexController=" + this.getIndexController() + ", addDailyReconcileController=" + this.getAddDailyReconcileController() + ", dailyReconcileOutDataList=" + this.getDailyReconcileOutDataList() + ")";
    }
}

